As is well known, GSM (Global System for Mobile Communications) uses TDMA (time-division multiple access) in which a radio receiver, such as the radio receiver 10 indicated in FIG. 1A, receives symbols communicated in one or more of the eight time slots of an 8-slot TDMA frame, the symbols being communicated as a radio signal by a radio transmitter (not shown) over a distorting radio channel (also not shown). Distortion occurs for example because of multipath propagation which provides that at any particular time, the radio signal arriving at the receiver potentially includes contributions from the signal transmitted at several different earlier times. In general for a linear radio channel (or, approximately, for any radio channel), if the transmitted radio signal is indicated as s(t) and the received signal as r(t), then,r(t)=c(t)s(t)+n(t),  (1)where c(t) is the impulse response of the radio channel, n(t) is the noise in the radio channel, and the operation {circle around (x)} indicates convolution.
To account for distortion by the radio channel (or in other words, to account for an impulse response that provides other than an identity mapping of the transmitted to the received symbol sequence), a receiver typically includes an equalizer, which is a module that in effect provides (approximately) a function h(t) that is the inverse (relative to convolution) of the channel impulse response c(t)), so that the transmitted signal s(t) can be recovered from the received signal r(t), i.e. the output ŝ(t) of an equalizer is,ŝ(t)=h(t)r(t)≈s(t).  (2)An equalizer is only one way of accounting for distortion caused by the radio channel. Another way is to use a module that implements the so-called Viterbi algorithm (well known in the art), using the (estimated) channel impulse response and the received symbol sequence to arrive at (a best guess as to) the transmitted symbol sequence. The different ways of accounting for (i.e. in effect inverting) the impulse response c(t) of the radio channel are not the subject of the invention; the invention deals only with estimating c(t).
According to the invention and as in the prior art, the channel impulse response c(t) is modeled as a transversal filter, i.e. a tapped delay line, with each tap having a corresponding gain, generally a complex number; this follow from the widely used representation of signal as sequence of samples,
            r      k        =                  ∑        i            ⁢                        c          i                ⁢                  s                      k            -            i                                ,where rk, ci, sk−i represent sampled versions of the signals r(t), c(t) and s(t) respectively. In the following, for simplicity, we assume operation at one sample per symbol, with an extension to a different sampling rate straightforward for those skilled in the art. A three-tap transversal filter is shown in FIG. 1B.
The aim of the invention is to estimate the gains ci of a transversal filter that represents the radio channel impulse response c(t); the number of taps of the transversal filter assumed to represent the radio channel impulse response c(t) is predetermined, based on the average duration of the channel impulse response and a judicious choice between accuracy and computational burden.
Because the radio channel impulse response changes over time (since multipath, among other phenomena, is not constant, especially when either the radio receiver or the radio transmitter participating in a radio communication are mobile), it is necessary to continually re-estimate the radio channel impulse response, i.e. to continually recalculate the gains ci of a transversal filter assumed to represent the radio channel impulse response c(t). To make such a recalculation possible, in the case of GSM, a burst (the transmission in a time slot), which is 148 symbols long (each symbol representing one bit), includes a training sequence X of twenty-six symbols, i.e. X=[x(0) x(1) x(2) . . . x(25)] that in turn includes a sixteen-symbol correlation sequence Xc, i.e. Xc=[x(5) x(6) x(7) . . . x(20)], sandwiched between two additional parts Xa1 Xa2 each five symbols long, as indicated in FIG. 2 and FIG. 3. (Xa1=[x(0) x(1) . . . x(4)] and Xa2=[x(21) x(22) . . . x(25)].) As shown in FIG. 4, the five symbols of the first additional part Xa1 are the same as the last five symbols of the correlation sequence Xc, i.e. x(4)=x(20), x(3)=x(19) . . . x(0)=x(16). Similarly, the five symbols of the second additional part Xa2 are the same as the first five symbols of the correlation sequence Xc. (In the figures, the symbols of a burst are indicated as the corresponding bits.) Generally, the length of the additional part is chosen according to the number of taps of the transversal filter assumed to represent the radio channel impulse response c(t), as will be clear from the description that follows.
Training sequences are used not only in GSM, but also in other digital telecommunications systems and in essentially the same way as described above, i.e. by correlating a local replica with the received training sequence for various relative positions. (In such other systems, the number of bits per symbols is sometimes different than in GSM because different modulation schemes are used, the training sequence length might be different than twenty-six symbols, the correlation length might be different than sixteen symbols and the memory of the channel impulse response (channel length−1) to be estimated and consequently the length of the additional part might be different than five symbols.)
The training sequence transmitted to the receiver detector module 11 (FIG. 1) is typically one of several different training sequences and the receiver detector module 11 is provided with a code indicating the training sequence X being used by the transmitter. We indicate using Y the portion of the received sequence corresponding to the transmitted training sequence and refer to it as the received training sequence, writing Y=[y(0), y(1), y(2) . . . y(25)], where
            y      ⁡              (        k        )              =                  ∑        i            ⁢                        c          i                ⁢                  x          ⁡                      (                          k              -              i                        )                                ,for 0≦k≦25.Similarly we refer to the portion of the received training sequence corresponding to the transmitted correlation sequence Xc as the received correlation sequence Yc.
To calculate the gains ci, the receiver detector module 11 performs sets of correlations of the received training sequence Y with a replica training sequence X0 (i.e. a copy of the training sequence known to have been transmitted). The detector performs (calculates) correlations of the received training sequence Y with the replica X0 for typically six different relative positions of the replica X0 and the received training sequence Y, as described next; each correlation result yields a value of a corresponding gain ci. For the GSM system, all the gains ci can be estimated independently from each other because the used correlation sequences Xc included in the transmitted training sequence X (See FIG. 3) have ideal cyclic autocorrelation over a certain correlation lag.
FIG. 5 indicates the correlations performed in a conventional channel impulse estimation (i.e. in a conventional calculation of the ci). To perform the required correlations, a GSM receiver in essence slides the replica correlation sequence X0,c over the received training signal Y one symbol at a time, starting with the received correlation sequence Yc and the replica correlation sequence X0,c aligned. Thus, a correlation is performed for each of six different positions, each differing by one more symbol relative to the starting position. Each correlation provides the value for a corresponding gain ci (to within an overall normalization factor) of the transversal filter assumed to represent the channel impulse response c(t), the correlation for the starting position yielding c0 (see FIG. 1B), the next correlation for the next position yielding c1, and so on. Thus, with a five-symbol (first) additional part, a six-tap transversal filter is used to represent the channel impulse response c(t).
To obtain a more accurate determination of the channel impulse response c(t), published European Patent application EP 0 701 334 A2, with Nokia Mobile Phones Ltd. as applicant, teaches a method of so-called double correlation, which makes use of the trailing additional part Xa2. As indicated in FIG. 6, the double correlation method requires making two sets of correlations. A first set of six correlations is made in which, as in the conventional method, the received correlation sequence Yc is compared with a sequence consisting of the replica correlation sequence X0,c and the replica first additional part X0,a1, starting with the received correlation sequence Yc aligned with the replica correlation sequence X0,c and then shifting the received correlation sequence Yc one symbol at a time and repeating the correlation, until a total of six correlations are performed. Next, a second set of six correlations is made in which a different received correlation sequence Yc′ is used, consisting of only a portion Yc2 of the received correlation sequence Yc, namely the eleven symbols closest to the second additional part Ya2, followed by the five symbols of the received second additional part Ya2, as indicated in FIG. 7. It is useful to observe here, in order to understand the idea disclosed in the present invention, that in the absence of noise and under the assumption that the channel impulse response is effectively less than six symbol long, the symbols of the different received correlation sequence Yc′ are the same as the symbols of the received correlation sequence Yc, although in a somewhat different order as indicated in FIG. 7. In the second set of correlations, the different received correlation sequence Yc′ is compared with a sequence consisting of the replica correlation sequence X0,c and the replica second additional part X0,a2, starting with the different correlation sequence Yc′ aligned with the replica second additional part X0,a2 and then shifting it one symbol at a time and repeating the correlation, until a total of six correlations are performed. The results of the two sets of correlations (i.e. the gains ci) are then averaged (i.e. each correlation from the first set is averaged with the corresponding correlation in the second set).
The double correlation method thus requires twice as many correlations as the conventional method, and each correlation requires a relatively large number of arithmetic and logical operations by a processor. It would be advantageous to be able to somehow arrive at the same improved result achieved by the double correlation method but with substantially fewer processor operations than are required by the double correlation method.